package com.tianyu.inspection.entity;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**********************************
 * @Author YSW
 * @Description 项目
 * @Date 2021/1/4 - 10:50
 **********************************/

@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName(autoResultMap = true)
public class Project implements Serializable {

    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 项目名称/企业名称
     */
    private String projectName;

    /**
     * 御空访问Key
     */
    private String ykAccessKey;

    /**
     * 御空访问Secret
     */
    private String ykAccessSecret;

    /**
     * 御空是否可用
     */
    private Integer ykAccessAvailable;

    /**
     * 云平台访问名称
     */
    private String cpAccessKey;

    /**
     * 云平台访问密码
     */
    private String cpAccessSecret;

    /**
     * 云平台是否可用
     */
    private Integer cpAccessAvailable;

    /**
     * 客户端菜单模块展示选择
     */
    private String clientModule;

    /**
     * 客户端名称
     */
    private String clientName;

    /**
     * 客户端Logo
     */
    private String clientLogo;

    /**
     * 客户端Logo
     */
    private String tiltPhotographUrl;

    /**
     * 险情类型使用选择
     */
    private String dangerTypeUse;

    /**
     * 桩牌类型使用选择
     */
    private String pileCardTypeUse;

    /**
     * 施工单位类型使用选择
     */
    private String constructionTypeUse;

    /**
     * 高后果区类型使用选择
     */
    private String highConsequenceAreaTypeUse;

    /**
     * 通用设施类型使用选择
     */
    private String generalFacilitiesTypeUse;

    /**
     * 阀室类型使用选择
     */
    private String cameraTypeUse;

    /**
     * 基础设施使用选择
     */
    private String infrastructureTypeUse;

    /**
     * 系统类型使用选择
     */

    @TableField(typeHandler = JacksonTypeHandler.class)
    private JSONArray sysTypeUse;

    @JsonIgnore
    private Integer state;

    /**
     * 创建时间
     */
    @JsonIgnore
    private Date createTime;

    @JsonIgnore
    private Date modifyTime;
}
